#ifndef _CAMERA_H_
#define _CAMERA_H_
 
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
using namespace sf;

#define ZOOM_MAX 2.0f
#define ZOOM_MIN 0.5f

class Camera {
    private:
        View view;
        Vector2f target;
        Vector2f halfSize;
        float targetZoom;
        float currZoom;

    public:
        Camera(RenderWindow &app);
        ~Camera();
        View &GetView();
        void SetTarget(Vector2f &t);
        void SetTarget(float x, float y);
        void MoveTarget(float x, float y);
        void Zoom(float offset);
        void SetZoom(float zoom);
        void Update(float dt);
};
 
#endif

